Method and apparatus for enabling communication between iSCSI devices and SAS devices

ABSTRACT

A method and apparatus for enabling communication between iSCSI/SAS host devices and iSCSI/SAS target devices via an iSCSI/SAS router is disclosed. In one embodiment, an iSCSI/SAS router includes iSCSI interfaces, SAS interfaces, and a mapping and routing logic. The mapping and routing logic is coupled to the iSCSI interfaces and the SAS interfaces. The mapping and routing logic virtualizes one or more SAS host and target devices to communicate with discovered one or more iSCSI host and target devices. Further, the mapping and routing logic virtualizes the one or more iSCSI host and target devices to communicate with discovered one or more SAS host and target devices.

BACKGROUND

As electronic business (e-business) grows, so does the need of betterways to share and manage large amounts of data. The amount of datastorage required by today's e-businesses is staggering. Today almost allclient access to large scale storage is accomplished by sending requestthrough internet small computer system interface (iSCSI) based devicesthat connect an internet protocol (IP) network, example a local areanetwork (LAN) or a wide area network (WAN), to storage network, examplea storage area network (SAN).

However, serial attached SCSI (SAS) is an emerging industry standard asthe enterprise-class standard storage interface. A typical SAS domaincomprises SAS devices (e.g., host devices or initiators and targetdevices) interconnected with a set of point-to-point-links. For example,SAS can support up to 16,384 addressable devices in the SAS domain andpoint-to-point data transfer speeds up to 6 Gbit/s. In the SAS domain,the SAS devices use SAS commands for interacting with other SAS devices.

Another standard used for exchanging data between a host device and atarget device using SCSI commands is iSCSI standard. iSCSI is a TCP/IPbased protocol that carries the SCSI commands over an IP network toenable communication between iSCSI host and target devices. An advantageof iSCSI standard is that the iSCSI enables the iSCSI host and targetdevices to communicate with each other with no limitation to distancebetween them. Unlike the iSCSI, the SAS enables the SAS host and targetdevices to communicate with each other with limited operating distances.Currently, the SAS devices can span up to a range of about 6-7 meters.As a result, the SAS devices are mostly restricted to point-to-pointconnectivity and hence operate within limited operating distances.

Today, almost all backend storage devices are SAS devices or drives. TheSAS devices are made part of the SAN through controllers which act asthe SAN interface to the SAS devices. The SAS devices do not have anyiSAN interface. Also currently, there are no SAS to iSCSI convertersavailable for enabling the traffic between SAS devices and iSCSIdevices.

SUMMARY

This summary is provided to comply with 37 C.F.R. §1.73, requiring asummary of the invention briefly indicating the nature and substance ofthe invention. It is submitted with the understanding that it will notbe used to interpret or limit the scope or meaning of the claims.

A method and apparatus for enabling communication between iSCSI devicesand SAS devices is disclosed. In one aspect, an iSCSI/SAS routerincludes a plurality of iSCSI interfaces, a plurality of SAS interfaces,and a mapping and routing logic coupled to the plurality of iSCSIinterfaces and the plurality of SAS interfaces. The mapping and routinglogic virtualizes one or more SAS host and target devices to communicatewith discovered one or more iSCSI host and target devices. Further, themapping and routing logic virtualizes the one or more iSCSI host andtarget devices to communicate with discovered one or more SAS host andtarget devices.

In another aspect, in a method for enabling communication betweeniSCSI/SAS host devices and iSCSI/SAS target devices via an iSCSI/SASrouter, one or more SAS host and target devices are virtualized tocommunicate with discovered one or more iSCSI host and target devices.Further, the one or more iSCSI host and target devices are virtualizedto communicate with discovered one or more SAS host and target devices.

In yet another aspect, a system for enabling communication betweeniSCSI/SAS host devices and iSCSI/SAS target devices includes one or moreiSCSI host and target devices, one or more SAS host and target devices,a TCP/IP network, and an iSCSI/SAS router. The iSCSI/SAS router iscoupled to the one or more iSCSI host and target devices via the TCP/IPnetwork and further coupled to the one or more SAS host and targetdevices.

The iSCSI/SAS router includes a plurality of iSCSI interfaces, aplurality of SAS interfaces, and a mapping and routing logic coupled tothe plurality of iSCSI interfaces and the plurality of SAS interfaces.The mapping and routing logic virtualizes one or more SAS host andtarget devices to communicate with discovered one or more iSCSI host andtarget devices. Further, the mapping and routing logic virtualizes theone or more iSCSI host and target devices to communicate with discoveredone or more SAS host and target devices.

Other features of the embodiments will be apparent from the accompanyingdrawings and from the detailed description that follows.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments are described herein with reference to the drawings,wherein:

FIG. 1 illustrates a block diagram of an exemplary iSAN environment,according to one embodiment;

FIG. 2 illustrates major components of the iSCSI/SAS router of FIG. 1,according to one embodiment;

FIG. 3 illustrates a process flowchart of an exemplary method ofenabling communication between an iSCSI host device and a target device,according to one embodiment; and

FIG. 4 illustrates a process flowchart of an exemplary method ofenabling communication between a SAS host device and a target device,according to one embodiment.

The drawings described herein are for illustration purposes only and arenot intended to limit the scope of the present disclosure in any way.

DETAILED DESCRIPTION

A method and apparatus for enabling communication between iSCSI devicesand SAS devices is disclosed. In the following detailed description ofthe embodiments of the invention, reference is made to the accompanyingdrawings that form a part hereof, and in which are shown by way ofillustration specific embodiments in which the invention may bepracticed. These embodiments are described in sufficient detail toenable those skilled in the art to practice the invention, and it is tobe understood that other embodiments may be utilized and that changesmay be made without departing from the scope of the present invention.The following detailed description is, therefore, not to be taken in alimiting sense, and the scope of the present invention is defined by theappended claims.

FIG. 1 illustrates a block diagram of an exemplary iSAN environment 100,according to one embodiment. As illustrated, the iSAN environment 100includes SAS host devices 150A-N and target devices 155A-N in a SASenvironment 120 directly coupled to an iSCSI/SAS router 115. Also, theiSAN environment 100 includes iSCSI host devices 125A-N and targetdevices 130A-N in an iSCSI environment 105 coupled to the iSCSI/SASrouter 115 via a transfer control protocol/internet protocol (TCP/IP)network 110.

In one embodiment, the iSCSI/SAS router 115 enables communicationbetween the SAS host devices 150A-N and target devices 155A-N or theiSCSI target devices 130A-N. For example, the communication between theSAS host devices 150A-N and the iSCSI target devices 130A-N may includereceiving SAS commands from the SAS host devices 150A-N, converting theSAS commands to TCP packets and transmitting the TCP packets to theiSCSI target devices 130A-N. It is appreciated that, the communicationbetween the SAS host devices 150A-N and SAS target devices 155A-N mayinclude receiving SAS commands from the SAS host devices 150A-N, andtransmitting the SAS commands to the SAS target devices 155A-N.

In another embodiment, the iSCSI/SAS router 115 enables communicationbetween the iSCSI host devices 125A-N and the iSCSI target devices130A-N or the SAS target devices 155A-N. For example, the communicationbetween the iSCSI host devices 125A-N and the SAS target devices 155A-Nmay include receiving TCP packets from the iSCSI host devices 125A-N,converting the TCP packets to SAS commands, and transmitting the SAScommands to the SAS target devices 155A-N. It is appreciated that, thecommunication between the iSCSI host devices 125A-N and the iSCSI targetdevices 130A-N may include receiving TCP packets from the iSCSI hostdevices 125A-N, and transmitting the TCP packets to the iSCSI targetdevices 130A-N.

As illustrated, the iSCSI/SAS router 115 includes an iSCSi logic 135, amapping and routing logic 140, and a SAS logic 145 to perform theabove-mentioned functionality. The iSCSI/SAS router 115 is explained ingreater detail with respect to FIG. 2.

FIG. 2 illustrates major components of the iSCSI/SAS router 115 of FIG.1, according to one embodiment. As illustrated, the iSCSI/SAS router 115includes a plurality of iSCSI interfaces 205A-N (e.g., Ethernet ports orRJ45 ports) for coupling the iSCSI host devices 125A-N and/or targetdevices 130A-N via the TCP/IP network 110, where each iSCSI interface205 is assigned an iSCSI qualified number (iqn). The iSCSI/SAS router115 also includes a plurality of SAS interfaces 210A-N (e.g.,wide/narrow ports) for directly connecting the SAS host devices 150A-Nand/or target devices 155A-N, where each SAS interface 210 is assigned aSAS physical ID. The iSCSI/SAS router 115 further includes a processor215 and a memory 220 coupled to the processor 215. The memory 220includes the iSCSi logic 135, the mapping and routing logic 140 and theSAS logic 145.

In operation, when the iSCSI/SAS router 115 is powered on, the iSCSIlogic 135 discovers the iSCSI host devices 125A-N and target devices130A-N connected to the iSCSI interfaces 205A-N to obtain associatediSCSI IDs. The iSCSi logic 135 then generates a table including a listof iSCSI IDs of the discovered iSCSI host devices 125A-N and targetdevices 130A-N and stores the table in a non-volatile memory 225.Similarly, on power-up, the SAS logic 145 discovers the SAS host devices150A-N and target devices 155A-N connected to the SAS interfaces 210A-N(by issuing COMSAS commands) to obtain associated SAS physical IDs. Itis appreciated that, the SAS logic 145 discovers the SAS host devices150A-N and target devices 155A-N based on SAS protocol. The SAS logic145 then generates a table including a list of SAS physical IDs of thediscovered SAS host devices 150A-N and target devices 155A-N and storesthe table in the non-volatile memory 225.

The mapping and routing logic 140 assigns virtual iSCSI IDs to the SASphysical IDs of the discovered SAS host devices 150A-N and targetdevices 155A-N. Further, the mapping and routing logic 140 assignsvirtual SAS physical IDs to the iSCSI IDs of the discovered iSCSI hostdevices 125A-N and target devices 130A-N. Then, the mapping and routinglogic 140 generates a mapping and routing table having a list of theiSCSI IDs mapped to the virtual SAS physical IDs and the SAS physicalIDs mapped to the virtual iSCSI IDs. Further, the mapping and routingtable is stored in the non-volatile memory 225 of the iSCSI/SAS router115. It should be noted that the tables in the non-volatile memory 225get updated dynamically as and when SAS host and target devices andiSCSI host and target devices are added or removed from the iSANenvironment 100.

Thus, the mapping and routing logic 140 coupled to the plurality ofiSCSI interfaces 205A-N and the plurality of SAS interfaces 210A-Nvirtualizes the SAS host devices 150A-N and target devices 155A-N tocommunicate with the discovered iSCSI host devices 125A-N and targetdevices 130A-N. Further, the mapping and routing logic 140 virtualizesthe iSCSI host devices 125A-N and target devices 130A-N to communicatewith the discovered SAS host devices 150A-N and target devices 155A-N.

The mapping and routing logic 140 also routes frames from a host device(e.g., an iSCSI host device or a SAS host device) to a requested targetdevice (e.g., an iSCSI target device or a SAS target device) andresponses from the target device to the host device. In one embodiment,the mapping and routing logic 140 is configured to convert frames (e.g.,from TCP packets to SAS commands or SAS commands to TCP packets) andresponses (e.g., a SAS response to a TCP packet) when either the iSCSIhost devices 125A-N are communicating with the SAS target devices 155A-Nor SAS host devices 150A-N are communicating with the iSCSI targetdevices 130A-N.

It can be noted that, the iSCSi logic 135, the mapping and routing logic140 and the SAS logic 145 may be in a form of instructions stored in thememory 220. These instructions in the memory 220, when executed by theprocessor 215, causes the processor 215 to perform a method described inFIG. 3 and FIG. 4.

FIG. 3 illustrates a process flowchart of an exemplary method 300 ofenabling communication between an iSCSI host device and a target device(e.g., an iSCSI target device or a SAS target device), according to oneembodiment. At step 302, an iSCSI/SAS router (e.g., the iSCSI/SAS router115 of FIG. 1) coupled to iSCSI host devices and/or target devices andSAS host devices and/or target devices, is powered on. At step 304, theiSCSI host devices and/or target devices, and the SAS host devicesand/or target devices coupled to the iSCSI/SAS router are discoveredusing an iSCSI logic and a SAS logic respectively.

For example, the iSCSI host and target devices are connected to theiSCSI/SAS router via a plurality of iSCSI interfaces over a TCP/IPnetwork. Further, the SAS host and target devices are connected to theiSCSI/SAS router via a plurality of SAS interfaces. At step 306, aniSCSI ID (e.g., iqn) associated with each of the discovered iSCSI hostand target devices is obtained. Further, at step 306, a SAS physical IDassociated with each of the discovered SAS host and target devices isobtained.

At step 308, a virtual SAS physical ID is assigned for each of the iSCSIIDs of the discovered iSCSI host devices and/or target devices. In oneexample embodiment, the virtual SAS physical IDs and corresponding iSCSIIDs are stored as a table in memory of the ISCSI/SAS router. Also, atstep 308, a virtual iSCSI ID is assigned for each of the SAS physicalIDs of the discovered SAS host devices and/or target devices. In oneexample embodiment, the virtual iSCSI IDs and corresponding SAS physicalIDs are stored as a table in the memory.

At step 310, a mapping and routing table is generated and stored in thememory. In one example embodiment, the mapping and routing table isgenerated by mapping the iSCSI IDs to corresponding virtual SAS physicalIDs and mapping the SAS physical IDs to corresponding virtual iSCSI IDs.The mapping and routing table is dynamically updated when an iSCSI hostor target device(s) and/or a SAS host or target device(s) are added orremoved from the iSCSI/SAS router. At step 312, a request is receivedfrom the iSCSI host device for discovering a SAS target device or aniSCSI target device. At step 314, a list of iSCSI IDs associated withthe iSCSI target devices and virtual iSCSI IDs associated with the SAStarget devices is provided to the iSCSI host device.

At step 316, a selection of a target device is received from the iSCSIhost device based on the list of iSCSI IDs and virtual iSCSI IDs. Atstep 318, it is determined whether the selected target device is aniSCSI target device. In one embodiment, the iSCSI ID associated with theselected target device is matched with the iSCSI IDs and the virtualiSCSI IDs stored in the memory. The selected target device may beconfirmed as an iSCSI target device if the iSCSI ID associated with theselected target device matches with the iSCSI IDs stored in the memory.Thus, if the determination at step 318 is true, the method 300 performssteps 320-324.

In operation 320, a session is established between the iSCSI host deviceand the selected iSCSI target device in an iSCSI environment based onthe iSCSI ID of the selected iSCSI target device. In one embodiment,during the process of establishing the session, the iSCSI host devicenegotiates various parameters, supported features and authenticationdetails with the iSCSI target device.

Once the session is established, one or more TCP packets are received bythe iSCSI/SAS router from the iSCSI host device for processing by theiSCSI target device at step 322. In operation 324, the one or more TCPpackets are transmitted by the iSCSI/SAS router to the iSCSI targetdevice for processing. In one example embodiment, the iSCSI/SAS routerstrips iSCSI packet data unit (PDU) from each TCP packet and thentransmits the iSCSI PDU to the iSCSI target device.

If the determination at step 318 is false, the method 300 performsoperations 326-336. At step 326, the mapping and routing table is lookedup for a SAS physical ID corresponding to a virtual iSCSI ID associatedwith the selected SAS target device. At step 328, a session isestablished between the iSCSI host device and the SAS target device inthe SAS environment based on the identified SAS physical ID of the SAStarget device. In one embodiment, during the process of establishing thesession, the iSCSI host device negotiates various parameters, supportedfeatures and authentication details with the SAS target device.

Once the session is established, one or more TCP packets are received bythe iSCSI/SAS router from the iSCSI host device for processing by theSAS target device at step 330. At step 332, each of the received TCPpackets is stripped and raw data is extracted from an iSCSI PDU of eachTCP packet by the iSCSI/SAS router. At step 334, the extracted raw datais converted to SAS commands by the iSCSI/SAS router. At step 336, theSAS commands are transmitted to the SAS target device for processing.

Further, during the session, the SAS target device sends a SAS responseto the iSCSI host device via the iSCSI/SAS router. The iSCSI/SAS routerthen strips the SAS response and extracts raw data from the SASresponse. The iSCSI/SAS router then converts the extracted raw data toan iSCSI PDU. Then, the iSCSI/SAS router encapsulates the iSCSI PDU in aTCP packet and sends the TCP packet to the iSCSI host device.

FIG. 4 illustrates a process flowchart of an exemplary method 400 ofenabling communication between a SAS host device and a target device(e.g., an iSCSI target device or a SAS target device), according to oneembodiment. At step 402, an iSCSI/SAS router (e.g., the iSCSI/SAS router115 of FIG. 1) coupled to iSCSI host devices and/or target devices andSAS host devices and/or target devices, is powered on. At step 404, theiSCSI host devices and/or target devices, and the SAS host devicesand/or target devices coupled to the iSCSI/SAS router are discoveredusing an iSCSI logic and a SAS logic respectively.

For example, the iSCSI host and target devices are connected to theiSCSI/SAS router via a plurality of iSCSI interfaces over a TCP/IPnetwork. Further, the SAS host and target devices are connected to theiSCSI/SAS router via a plurality of SAS interfaces. At step 406, aniSCSI ID (e.g., iqn) associated with each of the discovered iSCSI hostand target devices is obtained. Further, at step 406, a SAS physical IDassociated with each of the discovered SAS host and target devices isobtained.

At step 408, a virtual SAS physical ID is assigned for each of the iSCSIIDs of the discovered iSCSI host devices and/or target devices. In oneexample embodiment, the virtual SAS physical IDs and the correspondingiSCSI IDs are stored as a table in memory of the ISCSI/SAS router. Also,at step 408, a virtual iSCSI ID is assigned for each of the SAS physicalIDs of the discovered SAS host devices and/or target devices. In oneexample embodiment, the virtual iSCSI IDs and the corresponding SASphysical IDs are stored as a table in the memory.

At step 410, a mapping and routing table is generated and stored in thememory. In one example embodiment, the mapping and routing table isgenerated by mapping the iSCSI IDs to the corresponding virtual SASphysical IDs and mapping the SAS physical IDs to the correspondingvirtual iSCSI IDs. The mapping and routing table is dynamically updatedwhen an iSCSI host or target device(s) and/or SAS host or targetdevice(s) are added or removed from the iSCSI/SAS router.

At step 412, a request is received from a SAS host device fordiscovering an iSCSI target device or a SAS target device. At step 414,a list of SAS physical IDs associated with the SAS target devices andthe virtual SAS physical IDs associated with the iSCSI target devices isprovided to the SAS host device. At step 416, a selection of a targetdevice is received from the SAS host device based on the list of SASphysical IDs and virtual SAS physical IDs. At step 418, it is determinedwhether the target device selected by the SAS host device is a SAStarget device based on the virtual SAS physical IDs and the SAS physicalIDs. If the target device selected is a SAS target device, then themethod 400 performs steps 420-424.

At step 420, a session is established between the SAS host device andthe selected SAS target device in a SAS environment. At step 422, oncethe session is established, one or more SAS commands from the SAS hostdevice are received for processing by the selected SAS target device. Atstep 424, the one or more SAS commands, received from the SAS hostdevice, are transmitted to the selected SAS target device usingassociated SAS physical ID.

If the determination at step 418 is false, the method 400 performsoperations 426-436. At step 426, the mapping and routing table is lookedup for an iSCSI ID corresponding to the virtual SAS physical IDassociated with the selected iSCSI target device. Once the correspondingiSCSI ID is found, step 428 is performed, wherein a session isestablished between the SAS host device and the iSCSI target device inan iSCSI environment. During the process of establishing the session,the SAS host device negotiates various parameters, supported features,speed and authentication with a SAS expander of the iSCSI/SAS router.

Once the session is established at step 428, then at step 430, one ormore SAS commands are received from the SAS host device. At step 432,the one or more SAS commands are stripped, and raw data is extractedfrom each SAS command. At step 434, the extracted raw data is convertedto an iSCSI PDU and the iSCSI PDU is encapsulated in a TCP packet. Atstep 436, the TCP packet is transmitted to the iSCSI target deviceselected by the SAS host device for processing.

Further, during the session, the iSCSI target device may send an iSCSIresponse to the SAS host device via the iSCSI/SAS router. The iSCSI/SASrouter then strips the iSCSI response and extracts raw data from theiSCSI response. Further, the iSCSI/SAS router converts the extracted rawdata to SAS commands. Then, the iSCSI/SAS router sends the SAS commandsto the SAS host device.

In various embodiments, the apparatus and methods described in FIGS. 1through 4 enables SAS devices to be a part of the iSCSI network. Theabove-described apparatus and methods provide iSAN interfaces to bothSAS host and target devices. Further, the distance limitation for SASdevices gets eliminated in the iSAN environment. The above-describedapparatus and methods may offer significant benefits in enterprise ITenvironments, including reduced power consumption, increasedperformance, efficient use of enterprise resources, and reduced totalcost of ownership.

Although the present embodiments have been described with reference tospecific example embodiments, it will be evident that variousmodifications and changes may be made to these embodiments withoutdeparting from the broader spirit and scope of the various embodiments.Furthermore, the various devices, modules, analyzers, generators, andthe like described herein may be enabled and operated using hardwarecircuitry, for example, complementary metal oxide semiconductor basedlogic circuitry, firmware, software and/or any combination of hardware,firmware, and/or software embodied in a machine readable medium. Forexample, the various electrical structure and methods may be embodiedusing transistors, logic gates, and electrical circuits, such asapplication specific integrated circuit.

What is claimed is:
 1. An iSCSI/SAS router, comprising: a plurality ofiSCSI interfaces; a plurality of SAS interfaces, wherein the iSCSI/SASrouter is operable to receive via the plurality of SAS interfaces arequest from a SAS host device for discovering one or more iSCSI targetdevices connected to the iSCSI interfaces; a iSCSI logic stored onmemory; the iSCSI logic executed by a processor to discover the one ormore iSCSI target devices connected to the plurality of iSCSIinterfaces, wherein the iSCSI/SAS router is operable to provide to theSAS host device via the plurality of SAS interfaces a list of virtualSAS physical IDs of the discovered one or more iSCSI target devices, andwherein the iSCSI/SAS router is operable to receive via the plurality ofSAS interfaces from the SAS host device a selection of an iSCSI targetdevice from the list; and a mapping and routing logic coupled to theplurality of iSCSI interfaces and the plurality of SAS interfaces forconverting frames received from the SAS host device via the plurality ofSAS interfaces and routing the converted frames received from the SAShost device to the iSCSI target device via the plurality of iSCSIinterfaces, and for converting frames received from the iSCSI targetdevice via the plurality of iSCSI interfaces and routing the convertedframes received from the iSCSI target device to the SAS host device viathe plurality of SAS interfaces; wherein the mapping and routing logicassigns a virtual SAS physical ID to a iSCSI ID of the iSCSI targetdevice and generates a mapping and routing table having the iSCSI ID ofthe iSCSI target device mapped to the virtual SAS physical ID to enablecommunication between the SAS host device and the iSCSI target device.2. The iSCSI/SAS router of claim 1, further comprising memory forstoring the mapping and routing table.
 3. The iSCSI/SAS router of claim1, wherein the plurality of iSCSI interfaces comprises RJ-45 ports orEthernet ports.
 4. The iSCSI/SAS router of claim 1, wherein theplurality of SAS interfaces comprises wide/narrow ports.
 5. A method forenabling communication between iSCSI/SAS host devices and iSCSI/SAStarget devices via an iSCSI/SAS router, comprising: receiving a requestfrom a SAS host device for discovering one or more iSCSI target devicesconnected to the iSCSI/SAS router; discovering the one or more iSCSItarget devices connected to the iSCSI/SAS router; providing to the SAShost device a list of virtual SAS physical IDs of the discovered one ormore iSCSI target devices; receiving from the SAS host device aselection of an iSCSI target device from the list; assigning a virtualSAS physical ID to a iSCSI ID of the iSCSI target device; generating amapping and routing table having the iSCSI ID of the iSCSI target devicemapped to the virtual SAS physical ID to enable communication betweenthe SAS host device and the iSCSI target device; converting framesreceived from the SAS host device to a format suitable for transmissionto the iSCSI target device; transmitting the converted frames receivedfrom the SAS host device to the iSCSI target device; converting framesreceived from the iSCSI target device to a format suitable fortransmission to the SAS host device; and transmitting the convertedframes received from the iSCSI target device to the SAS host device. 6.The method of claim 5, further comprising storing the mapping androuting table in memory of the iSCSI/SAS router.
 7. A system,comprising: an iSCSI/SAS router coupled to one or more iSCSI host andtarget devices via a TCP/IP network and further coupled to one or moreSAS host and target devices, wherein the iSCSI/SAS router comprises: aplurality of iSCSI interfaces and a plurality of SAS interfaces, whereinthe iSCSI/SAS router is operable to receive via the plurality of iSCSIinterfaces a request from a iSCSI host device for discovering one ormore SAS target devices connected to the SAS interfaces; a SAS logicstored on memory; the SAS logic executed by a processor to discover theone or more SAS target devices connected to the plurality of SASinterfaces, wherein the iSCSI/SAS router is operable to provide to theiSCSI host device via the plurality of iSCSI interfaces a list ofvirtual iSCSI physical IDs of the discovered one or more SAS targetdevices, and wherein the iSCSI/SAS router is operable to receive via theplurality of iSCSI interfaces from the iSCSI host device a selection ofan SAS target device from the list; and a mapping and routing logiccoupled to the plurality of iSCSI interfaces and the plurality of SASinterfaces for converting frames received from the iSCSI host device viathe plurality of iSCSI interfaces and routing the converted framesreceived from the iSCSI host device to the SAS target device, and forconverting frames received from the SAS target device via the pluralityof SAS interfaces and routing the converted frames received from the SAStarget device to the iSCSI host device via the plurality of iSCSIinterfaces, wherein the mapping and routing logic assigns a virtualiSCSI physical ID to a SAS ID of the SAS target device and generates amapping and routing table having the SAS ID of the SAS target devicemapped to the virtual iSCSI physical ID to enable communication betweenthe iSCSI host device and the SAS target device.
 8. The system of claim7, further comprising memory for storing the mapping and routing table.9. The iSCSI/SAS router of claim 1, wherein the iSCSI target device isconnected to the plurality of ISCSI interfaces via a TCP/IP network. 10.The iSCSI/SAS router of claim 1, wherein the SAS host device is directlyconnected to the plurality of SAS interfaces.
 11. The system of claim 7,wherein the plurality of iSCSI interfaces comprises RJ-45 ports orEthernet ports.
 12. The system of claim 7, wherein the plurality of SASinterfaces comprises wide/narrow ports.
 13. The system of claim 7,wherein the SAS host device is directly connected to the plurality ofSAS interfaces.
 14. The method of claim 5, wherein the plurality ofiSCSI interfaces comprises RJ-45 ports or Ethernet ports.
 15. The methodof claim 5, wherein the plurality of SAS interfaces compriseswide/narrow ports.